package cn.itsy.dao;

import cn.itsy.pojo.*;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

@Repository
public class EmpsDaoImpl implements EmpsDao {
    @Resource
    private JdbcTemplate jt;

    //查询
    @Override
    public List<Emp> queryAll(String sql) {
        List<Emp> el = jt.query(sql, new BeanPropertyRowMapper<Emp>(Emp.class));
        return el;
    }

    //查询
    @Override
    public List<Dept> queryAdd(String sql) {
        List<Dept> el = jt.query(sql, new BeanPropertyRowMapper<Dept>(Dept.class));
        return el;
    }

    //查询
    @Override
    public List<Duct> queryAdd1(String sql) {
        List<Duct> el = jt.query(sql, new BeanPropertyRowMapper<Duct>(Duct.class));
        return el;
    }

    //查询
    @Override
    public List<Job> queryAdd2(String sql) {
        List<Job> el = jt.query(sql, new BeanPropertyRowMapper<Job>(Job.class));
        return el;
    }

    //查询
    @Override
    public List<Empstatus> queryAdd3(String sql) {
        List<Empstatus> el = jt.query(sql, new BeanPropertyRowMapper<Empstatus>(Empstatus.class));
        return el;
    }

    //删除
    @Override
    public void updeteid(String sql) {
        jt.update(sql);
    }

    //修改
    @Override
    public void updateById(String sql) {
        jt.update(sql);
    }

    //添加
    @Override
    public void add(String sql, Emp emp) {
        emp.setIsStatus(1);
        jt.update(sql, emp.getId(), emp.getEmpid(), emp.getEmpname(), emp.getDepartId(), emp.getDuctId(), emp.getEnglishname(), emp.getNameusedbefore(),
                emp.getSex(), emp.getIdcard(), emp.getBirthday(), emp.getNatives(), emp.getNation(), emp.getPoleticalstatus(),
                emp.getReligiousbelief(), emp.getHealthcondition(), emp.getHeadimge(), emp.getMaritalstatus(), emp.getWagesaccount(), emp.getSocialsecuritynumbers(), emp.getPartworktime(),
                emp.getEntertime(), emp.getPlace(), emp.getEducation(), emp.getJobId(), emp.getOfficephone(), emp.getHomephone(),
                emp.getMobilephone(), emp.getIsStatus()
        );
    }

    @Override
    public List<Emp> queryEmpAll(String sql) {
        List<Emp> query = this.jt.query(sql, new BeanPropertyRowMapper<Emp>(Emp.class));
        return query;
    }
}
